package cn.iocoder.yudao.module.statistics.controller.app.shareprofit.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;

@Schema(description = "管理后台 - 门店交易合伙人分润 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppStoreTradeShareProfitRespVO {

    @Schema(description = "编号，主键自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "12128")
    @ExcelProperty("编号，主键自增")
    private Long id;

    @Schema(description = "统计日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    @ExcelProperty("统计日期")
    private LocalDate reportDate;

    @Schema(description = "合伙人类型：1-LP发起人；2-LP合伙人；", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("合伙人类型：1-LP发起人；2-LP合伙人；")
    private Integer partnerType;

    @Schema(description = "合伙人类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("合伙人类型：1-LP发起人；2-LP合伙人；")
    private String partnerTypeDesc;

    @Schema(description = "分佣比率")
    @ExcelProperty("分佣比率")
    private BigDecimal shareProfitRate;

    @Schema(description = "总支付金额，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "17463")
    @ExcelProperty("总支付金额，单位：分")
    private Integer orderPayPrice;

    @Schema(description = "总支付金额分润，单位：分", example = "6870")
    @ExcelProperty("总支付金额分润，单位：分")
    private Long shareProfitPayPrice;

    @Schema(description = "总退款金额，单位：分", requiredMode = Schema.RequiredMode.REQUIRED, example = "22123")
    @ExcelProperty("总退款金额，单位：分")
    private Integer refundPrice;

    @Schema(description = "总退款金额分润，单位：分", example = "2643")
    @ExcelProperty("总退款金额分润，单位：分")
    private Long shareProfitRefundPrice;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "店铺ID", example = "18319")
    @ExcelProperty("店铺ID")
    private Long storeId;

    @Schema(description = "店铺名称", example = "赵六")
    @ExcelProperty("店铺名称")
    private String storeName;

    @Schema(description = "合伙人ID", example = "1")
    @ExcelProperty("合伙人ID")
    private Long partnerId;

    @Schema(description = "合伙人姓名", example = "1")
    @ExcelProperty("合伙人姓名")
    private String partnerName;

    @Schema(description = "手机号", example = "1")
    @ExcelProperty("手机号")
    private String phone;

}